/*
 * @Author: 曹捷
 * @Date: 2020-08-20 14:57:06
 * @LastEditors: 曹捷
 * @LastEditTime: 2020-11-13 09:41:43
 * @Description: 极光推送  监听
 */
import util from './../utils'
// #ifdef APP-PLUS
const jyJPush = uni.requireNativePlugin('JY-JPush');
// #endif

/**
 * 解除推送服务别名绑定关系
 */
export function removePush () {
    // #ifdef APP-PLUS
    jyJPush.deleteJYJPushAlias({
        //  可以不用传值进去，但是需要配置这项数据
    }, result => {
        console.log('jvPush -> 删除绑定', JSON.stringify(result))
    });
    // #endif
}
/**
 * 设置用户别名，绑定极光服务器
 */
export function setPushAlias () {
    // #ifdef APP-PLUS
    let userinfo = uni.getStorageSync('userInfo')
    if (userinfo && userinfo.username) {
        jyJPush.getJYJPushAlias({
            //  可以不用传值进去，但是需要配置这项数据
        }, result => {
            console.log('jvPush -> 获取别名', JSON.stringify(result))
            let alias = util.util.encode(userinfo.username)
            console.log('setPushAlias -> alias', alias)

            if (uni.getSystemInfoSync().platform == 'ios') {
                if (result.iAlias !== alias) {
                    setName()
                }
            } else if (uni.getSystemInfoSync().platform == 'android') {
                if (result.alias !== alias) {
                    setName()
                }
            }
            function setName () {
                jyJPush.setJYJPushAlias({
                    //  按照自己的业务需求来设置
                    userAlias: alias
                }, result => {
                    //  设置成功或者失败，都会通过这个result回调返回数据；数据格式保持极光返回的安卓/iOS数据一致
                    //  注：若没有返回任何数据，考虑是否初始化完成
                    console.log('jvPush -> 设置别名', JSON.stringify(result))
                });
            }
        });
    }
    // #endif

}
export function jvPush () {

    jyJPush.addJYJPushReceiveNotificationListener(result => {
        console.log('jvPush -> JSON.stringify(result)', JSON.stringify(result))
        //  监听成功后，若收到推送，会在result返回对应的数据；数据格式保持极光返回的安卓/iOS数据一致
        // uni.showToast({
        //     icon: 'none',
        //     duration: 10000,
        //     title: JSON.stringify(result)
        // })
    });
    jyJPush.addJYJPushReceiveOpenNotificationListener(result => {
        console.log('jvPush -> Open', JSON.stringify(result))
        uni.switchTab({ url: `/pages/tabbar/notice/notice` })
        //  监听成功后，若点击推送消息，会触发result；数据格式保持极光返回的安卓/iOS数据一致
    });
    jyJPush.addJYJPushCustomReceiveNotificationListener(result => {
        // 6.4.监听自定义消息（穿透消息）
        console.log('jvPush -> 6.4传透消息', JSON.stringify(result))
    });
}